{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "ebd9f727-f327-4f48-ace7-237a1caa3ff5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting tensorflow\n",
      "  Downloading tensorflow-2.17.0-cp312-cp312-win_amd64.whl.metadata (3.2 kB)\n",
      "Collecting tensorflow-intel==2.17.0 (from tensorflow)\n",
      "  Downloading tensorflow_intel-2.17.0-cp312-cp312-win_amd64.whl.metadata (5.0 kB)\n",
      "Collecting absl-py>=1.0.0 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading absl_py-2.1.0-py3-none-any.whl.metadata (2.3 kB)\n",
      "Collecting astunparse>=1.6.0 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading astunparse-1.6.3-py2.py3-none-any.whl.metadata (4.4 kB)\n",
      "Collecting flatbuffers>=24.3.25 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading flatbuffers-24.3.25-py2.py3-none-any.whl.metadata (850 bytes)\n",
      "Collecting gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading gast-0.6.0-py3-none-any.whl.metadata (1.3 kB)\n",
      "Collecting google-pasta>=0.1.1 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading google_pasta-0.2.0-py3-none-any.whl.metadata (814 bytes)\n",
      "Requirement already satisfied: h5py>=3.10.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (3.11.0)\n",
      "Collecting libclang>=13.0.0 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading libclang-18.1.1-py2.py3-none-win_amd64.whl.metadata (5.3 kB)\n",
      "Collecting ml-dtypes<0.5.0,>=0.3.1 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading ml_dtypes-0.4.1-cp312-cp312-win_amd64.whl.metadata (20 kB)\n",
      "Collecting opt-einsum>=2.3.2 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading opt_einsum-3.4.0-py3-none-any.whl.metadata (6.3 kB)\n",
      "Requirement already satisfied: packaging in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (23.2)\n",
      "Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (3.20.3)\n",
      "Requirement already satisfied: requests<3,>=2.21.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (2.32.2)\n",
      "Requirement already satisfied: setuptools in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (69.5.1)\n",
      "Requirement already satisfied: six>=1.12.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (1.16.0)\n",
      "Collecting termcolor>=1.1.0 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading termcolor-2.5.0-py3-none-any.whl.metadata (6.1 kB)\n",
      "Requirement already satisfied: typing-extensions>=3.6.6 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (4.11.0)\n",
      "Requirement already satisfied: wrapt>=1.11.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (1.14.1)\n",
      "Collecting grpcio<2.0,>=1.24.3 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading grpcio-1.66.2-cp312-cp312-win_amd64.whl.metadata (4.0 kB)\n",
      "Collecting tensorboard<2.18,>=2.17 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading tensorboard-2.17.1-py3-none-any.whl.metadata (1.6 kB)\n",
      "Collecting keras>=3.2.0 (from tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading keras-3.6.0-py3-none-any.whl.metadata (5.8 kB)\n",
      "Requirement already satisfied: numpy<2.0.0,>=1.26.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.17.0->tensorflow) (1.26.4)\n",
      "Requirement already satisfied: wheel<1.0,>=0.23.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from astunparse>=1.6.0->tensorflow-intel==2.17.0->tensorflow) (0.43.0)\n",
      "Requirement already satisfied: rich in d:\\programdata\\anaconda3\\lib\\site-packages (from keras>=3.2.0->tensorflow-intel==2.17.0->tensorflow) (13.3.5)\n",
      "Collecting namex (from keras>=3.2.0->tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading namex-0.0.8-py3-none-any.whl.metadata (246 bytes)\n",
      "Collecting optree (from keras>=3.2.0->tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading optree-0.13.0-cp312-cp312-win_amd64.whl.metadata (48 kB)\n",
      "     ---------------------------------------- 0.0/48.7 kB ? eta -:--:--\n",
      "     ------------------------- -------------- 30.7/48.7 kB 1.3 MB/s eta 0:00:01\n",
      "     -------------------------------------- 48.7/48.7 kB 493.4 kB/s eta 0:00:00\n",
      "Requirement already satisfied: charset-normalizer<4,>=2 in d:\\programdata\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorflow-intel==2.17.0->tensorflow) (2.0.4)\n",
      "Requirement already satisfied: idna<4,>=2.5 in d:\\programdata\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorflow-intel==2.17.0->tensorflow) (3.7)\n",
      "Requirement already satisfied: urllib3<3,>=1.21.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorflow-intel==2.17.0->tensorflow) (2.2.2)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in d:\\programdata\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorflow-intel==2.17.0->tensorflow) (2024.7.4)\n",
      "Requirement already satisfied: markdown>=2.6.8 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow) (3.4.1)\n",
      "Collecting tensorboard-data-server<0.8.0,>=0.7.0 (from tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow)\n",
      "  Downloading tensorboard_data_server-0.7.2-py3-none-any.whl.metadata (1.1 kB)\n",
      "Requirement already satisfied: werkzeug>=1.0.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow) (3.0.3)\n",
      "Requirement already satisfied: MarkupSafe>=2.1.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from werkzeug>=1.0.1->tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow) (2.1.3)\n",
      "Requirement already satisfied: markdown-it-py<3.0.0,>=2.2.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from rich->keras>=3.2.0->tensorflow-intel==2.17.0->tensorflow) (2.2.0)\n",
      "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in d:\\programdata\\anaconda3\\lib\\site-packages (from rich->keras>=3.2.0->tensorflow-intel==2.17.0->tensorflow) (2.15.1)\n",
      "Requirement already satisfied: mdurl~=0.1 in d:\\programdata\\anaconda3\\lib\\site-packages (from markdown-it-py<3.0.0,>=2.2.0->rich->keras>=3.2.0->tensorflow-intel==2.17.0->tensorflow) (0.1.0)\n",
      "Downloading tensorflow-2.17.0-cp312-cp312-win_amd64.whl (2.0 kB)\n",
      "Downloading tensorflow_intel-2.17.0-cp312-cp312-win_amd64.whl (385.2 MB)\n",
      "   ---------------------------------------- 0.0/385.2 MB ? eta -:--:--\n",
      "   ---------------------------------------- 0.1/385.2 MB 4.8 MB/s eta 0:01:21\n",
      "   ---------------------------------------- 0.2/385.2 MB 2.4 MB/s eta 0:02:43\n",
      "   ---------------------------------------- 0.3/385.2 MB 2.7 MB/s eta 0:02:22\n",
      "   ---------------------------------------- 0.5/385.2 MB 3.3 MB/s eta 0:01:58\n",
      "   ---------------------------------------- 1.0/385.2 MB 5.1 MB/s eta 0:01:16\n",
      "   ---------------------------------------- 1.9/385.2 MB 7.1 MB/s eta 0:00:55\n",
      "   ---------------------------------------- 2.3/385.2 MB 7.8 MB/s eta 0:00:49\n",
      "   ---------------------------------------- 4.5/385.2 MB 13.0 MB/s eta 0:00:30\n",
      "    --------------------------------------- 6.8/385.2 MB 18.2 MB/s eta 0:00:21\n",
      "    --------------------------------------- 8.0/385.2 MB 18.9 MB/s eta 0:00:20\n",
      "   - -------------------------------------- 11.3/385.2 MB 38.6 MB/s eta 0:00:10\n",
      "   - -------------------------------------- 12.5/385.2 MB 54.4 MB/s eta 0:00:07\n",
      "   - -------------------------------------- 12.5/385.2 MB 54.4 MB/s eta 0:00:07\n",
      "   - -------------------------------------- 12.5/385.2 MB 54.4 MB/s eta 0:00:07\n",
      "   - -------------------------------------- 12.5/385.2 MB 54.4 MB/s eta 0:00:07\n",
      "   - -------------------------------------- 12.5/385.2 MB 54.4 MB/s eta 0:00:07\n",
      "   - -------------------------------------- 12.5/385.2 MB 26.2 MB/s eta 0:00:15\n",
      "   - -------------------------------------- 12.5/385.2 MB 26.2 MB/s eta 0:00:15\n",
      "   - -------------------------------------- 12.5/385.2 MB 26.2 MB/s eta 0:00:15\n",
      "   - -------------------------------------- 12.6/385.2 MB 21.1 MB/s eta 0:00:18\n",
      "   - -------------------------------------- 12.6/385.2 MB 21.1 MB/s eta 0:00:18\n",
      "   - -------------------------------------- 12.6/385.2 MB 21.1 MB/s eta 0:00:18\n",
      "   - -------------------------------------- 12.6/385.2 MB 17.2 MB/s eta 0:00:22\n",
      "   - -------------------------------------- 12.6/385.2 MB 15.6 MB/s eta 0:00:24\n",
      "   - -------------------------------------- 12.6/385.2 MB 15.6 MB/s eta 0:00:24\n",
      "   - -------------------------------------- 12.7/385.2 MB 14.2 MB/s eta 0:00:27\n",
      "   - -------------------------------------- 12.7/385.2 MB 13.1 MB/s eta 0:00:29\n",
      "   - -------------------------------------- 12.7/385.2 MB 13.1 MB/s eta 0:00:29\n",
      "   - -------------------------------------- 12.7/385.2 MB 12.1 MB/s eta 0:00:31\n",
      "   - -------------------------------------- 12.8/385.2 MB 11.3 MB/s eta 0:00:33\n",
      "   - -------------------------------------- 12.9/385.2 MB 10.7 MB/s eta 0:00:35\n",
      "   - -------------------------------------- 12.9/385.2 MB 10.6 MB/s eta 0:00:36\n",
      "   - -------------------------------------- 13.1/385.2 MB 10.1 MB/s eta 0:00:37\n",
      "   - -------------------------------------- 13.2/385.2 MB 9.5 MB/s eta 0:00:40\n",
      "   - -------------------------------------- 13.2/385.2 MB 9.5 MB/s eta 0:00:40\n",
      "   - -------------------------------------- 13.3/385.2 MB 9.0 MB/s eta 0:00:42\n",
      "   - -------------------------------------- 13.5/385.2 MB 8.6 MB/s eta 0:00:44\n",
      "   - -------------------------------------- 13.5/385.2 MB 8.6 MB/s eta 0:00:44\n",
      "   - -------------------------------------- 13.6/385.2 MB 8.2 MB/s eta 0:00:46\n",
      "   - -------------------------------------- 13.8/385.2 MB 7.8 MB/s eta 0:00:48\n",
      "   - -------------------------------------- 13.8/385.2 MB 7.8 MB/s eta 0:00:48\n",
      "   - -------------------------------------- 14.0/385.2 MB 7.5 MB/s eta 0:00:50\n",
      "   - -------------------------------------- 14.3/385.2 MB 7.2 MB/s eta 0:00:52\n",
      "   - -------------------------------------- 14.3/385.2 MB 7.0 MB/s eta 0:00:54\n",
      "   - -------------------------------------- 14.6/385.2 MB 7.0 MB/s eta 0:00:54\n",
      "   - -------------------------------------- 15.0/385.2 MB 6.7 MB/s eta 0:00:55\n",
      "   - -------------------------------------- 15.1/385.2 MB 6.6 MB/s eta 0:00:56\n",
      "   - -------------------------------------- 15.4/385.2 MB 6.6 MB/s eta 0:00:56\n",
      "   - -------------------------------------- 15.8/385.2 MB 6.4 MB/s eta 0:00:59\n",
      "   - -------------------------------------- 16.0/385.2 MB 6.1 MB/s eta 0:01:01\n",
      "   - -------------------------------------- 16.3/385.2 MB 6.1 MB/s eta 0:01:01\n",
      "   - -------------------------------------- 16.9/385.2 MB 5.9 MB/s eta 0:01:03\n",
      "   - -------------------------------------- 17.4/385.2 MB 5.8 MB/s eta 0:01:04\n",
      "   - -------------------------------------- 17.5/385.2 MB 5.6 MB/s eta 0:01:06\n",
      "   - -------------------------------------- 18.1/385.2 MB 5.6 MB/s eta 0:01:06\n",
      "   - -------------------------------------- 18.9/385.2 MB 5.5 MB/s eta 0:01:07\n",
      "   - -------------------------------------- 19.0/385.2 MB 5.4 MB/s eta 0:01:08\n",
      "   -- ------------------------------------- 19.8/385.2 MB 5.4 MB/s eta 0:01:08\n",
      "   -- ------------------------------------- 20.7/385.2 MB 5.3 MB/s eta 0:01:10\n",
      "   -- ------------------------------------- 20.9/385.2 MB 5.2 MB/s eta 0:01:11\n",
      "   -- ------------------------------------- 21.7/385.2 MB 5.1 MB/s eta 0:01:12\n",
      "   -- ------------------------------------- 22.7/385.2 MB 5.0 MB/s eta 0:01:13\n",
      "   -- ------------------------------------- 23.3/385.2 MB 8.2 MB/s eta 0:00:45\n",
      "   -- ------------------------------------- 23.8/385.2 MB 9.5 MB/s eta 0:00:39\n",
      "   -- ------------------------------------- 26.5/385.2 MB 16.4 MB/s eta 0:00:22\n",
      "   --- ------------------------------------ 30.7/385.2 MB 34.4 MB/s eta 0:00:11\n",
      "   --- ------------------------------------ 30.7/385.2 MB 34.4 MB/s eta 0:00:11\n",
      "   --- ------------------------------------ 30.7/385.2 MB 34.4 MB/s eta 0:00:11\n",
      "   --- ------------------------------------ 30.7/385.2 MB 26.2 MB/s eta 0:00:14\n",
      "   --- ------------------------------------ 30.7/385.2 MB 26.2 MB/s eta 0:00:14\n",
      "   --- ------------------------------------ 30.7/385.2 MB 26.2 MB/s eta 0:00:14\n",
      "   --- ------------------------------------ 30.7/385.2 MB 26.2 MB/s eta 0:00:14\n",
      "   --- ------------------------------------ 30.7/385.2 MB 26.2 MB/s eta 0:00:14\n",
      "   --- ------------------------------------ 30.7/385.2 MB 16.4 MB/s eta 0:00:22\n",
      "   --- ------------------------------------ 30.7/385.2 MB 16.4 MB/s eta 0:00:22\n",
      "   --- ------------------------------------ 30.7/385.2 MB 16.4 MB/s eta 0:00:22\n",
      "   --- ------------------------------------ 30.8/385.2 MB 13.6 MB/s eta 0:00:26\n",
      "   --- ------------------------------------ 30.8/385.2 MB 13.6 MB/s eta 0:00:26\n",
      "   --- ------------------------------------ 30.8/385.2 MB 12.8 MB/s eta 0:00:28\n",
      "   --- ------------------------------------ 31.0/385.2 MB 12.4 MB/s eta 0:00:29\n",
      "   --- ------------------------------------ 31.0/385.2 MB 12.4 MB/s eta 0:00:29\n",
      "   --- ------------------------------------ 31.0/385.2 MB 11.5 MB/s eta 0:00:31\n",
      "   --- ------------------------------------ 31.0/385.2 MB 10.9 MB/s eta 0:00:33\n",
      "   --- ------------------------------------ 31.0/385.2 MB 10.9 MB/s eta 0:00:33\n",
      "   --- ------------------------------------ 31.1/385.2 MB 10.2 MB/s eta 0:00:35\n",
      "   --- ------------------------------------ 31.3/385.2 MB 9.6 MB/s eta 0:00:37\n",
      "   --- ------------------------------------ 31.3/385.2 MB 9.2 MB/s eta 0:00:39\n",
      "   --- ------------------------------------ 31.3/385.2 MB 9.2 MB/s eta 0:00:39\n",
      "   --- ------------------------------------ 31.5/385.2 MB 8.7 MB/s eta 0:00:41\n",
      "   --- ------------------------------------ 31.5/385.2 MB 8.3 MB/s eta 0:00:43\n",
      "   --- ------------------------------------ 31.5/385.2 MB 8.3 MB/s eta 0:00:43\n",
      "   --- ------------------------------------ 31.7/385.2 MB 8.0 MB/s eta 0:00:45\n",
      "   --- ------------------------------------ 31.8/385.2 MB 7.7 MB/s eta 0:00:46\n",
      "   --- ------------------------------------ 31.8/385.2 MB 7.7 MB/s eta 0:00:46\n",
      "   --- ------------------------------------ 31.9/385.2 MB 7.4 MB/s eta 0:00:49\n",
      "   --- ------------------------------------ 32.1/385.2 MB 7.3 MB/s eta 0:00:49\n",
      "   --- ------------------------------------ 32.1/385.2 MB 7.0 MB/s eta 0:00:51\n",
      "   --- ------------------------------------ 32.2/385.2 MB 7.0 MB/s eta 0:00:51\n",
      "   --- ------------------------------------ 32.4/385.2 MB 6.7 MB/s eta 0:00:53\n",
      "   --- ------------------------------------ 32.4/385.2 MB 6.5 MB/s eta 0:00:55\n",
      "   --- ------------------------------------ 32.6/385.2 MB 6.5 MB/s eta 0:00:55\n",
      "   --- ------------------------------------ 32.9/385.2 MB 6.3 MB/s eta 0:00:56\n",
      "   --- ------------------------------------ 32.9/385.2 MB 6.3 MB/s eta 0:00:56\n",
      "   --- ------------------------------------ 33.1/385.2 MB 6.2 MB/s eta 0:00:57\n",
      "   --- ------------------------------------ 33.4/385.2 MB 6.0 MB/s eta 0:00:59\n",
      "   --- ------------------------------------ 33.5/385.2 MB 5.8 MB/s eta 0:01:01\n",
      "   --- ------------------------------------ 33.7/385.2 MB 5.8 MB/s eta 0:01:01\n",
      "   --- ------------------------------------ 34.0/385.2 MB 5.8 MB/s eta 0:01:01\n",
      "   --- ------------------------------------ 34.4/385.2 MB 5.6 MB/s eta 0:01:03\n",
      "   --- ------------------------------------ 34.4/385.2 MB 5.5 MB/s eta 0:01:04\n",
      "   --- ------------------------------------ 34.8/385.2 MB 5.5 MB/s eta 0:01:04\n",
      "   --- ------------------------------------ 35.2/385.2 MB 5.3 MB/s eta 0:01:06\n",
      "   --- ------------------------------------ 35.3/385.2 MB 5.2 MB/s eta 0:01:08\n",
      "   --- ------------------------------------ 35.7/385.2 MB 5.2 MB/s eta 0:01:08\n",
      "   --- ------------------------------------ 36.3/385.2 MB 5.1 MB/s eta 0:01:09\n",
      "   --- ------------------------------------ 36.5/385.2 MB 4.9 MB/s eta 0:01:11\n",
      "   --- ------------------------------------ 36.9/385.2 MB 4.9 MB/s eta 0:01:12\n",
      "   --- ------------------------------------ 37.6/385.2 MB 4.8 MB/s eta 0:01:13\n",
      "   --- ------------------------------------ 37.8/385.2 MB 4.6 MB/s eta 0:01:15\n",
      "   --- ------------------------------------ 38.3/385.2 MB 4.7 MB/s eta 0:01:15\n",
      "   ---- ----------------------------------- 39.1/385.2 MB 4.6 MB/s eta 0:01:16\n",
      "   ---- ----------------------------------- 39.8/385.2 MB 4.5 MB/s eta 0:01:18\n",
      "   ---- ----------------------------------- 40.2/385.2 MB 4.3 MB/s eta 0:01:20\n",
      "   ---- ----------------------------------- 40.5/385.2 MB 4.3 MB/s eta 0:01:22\n",
      "   ---- ----------------------------------- 45.6/385.2 MB 19.3 MB/s eta 0:00:18\n",
      "   ----- --------------------------------- 50.8/385.2 MB 110.0 MB/s eta 0:00:04\n",
      "   ----- --------------------------------- 54.3/385.2 MB 108.8 MB/s eta 0:00:04\n",
      "   ----- --------------------------------- 58.3/385.2 MB 108.8 MB/s eta 0:00:04\n",
      "   ------ -------------------------------- 62.5/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ------ -------------------------------- 66.6/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ------- -------------------------------- 68.2/385.2 MB 93.9 MB/s eta 0:00:04\n",
      "   ------- -------------------------------- 68.2/385.2 MB 93.9 MB/s eta 0:00:04\n",
      "   ------- -------------------------------- 68.2/385.2 MB 93.9 MB/s eta 0:00:04\n",
      "   ------- -------------------------------- 68.2/385.2 MB 93.9 MB/s eta 0:00:04\n",
      "   ------- -------------------------------- 68.2/385.2 MB 93.9 MB/s eta 0:00:04\n",
      "   ------- -------------------------------- 70.8/385.2 MB 34.4 MB/s eta 0:00:10\n",
      "   ------- -------------------------------- 75.0/385.2 MB 34.4 MB/s eta 0:00:10\n",
      "   ------- -------------------------------- 75.5/385.2 MB 34.4 MB/s eta 0:00:09\n",
      "   ------- -------------------------------- 76.4/385.2 MB 26.2 MB/s eta 0:00:12\n",
      "   -------- ------------------------------- 81.2/385.2 MB 65.6 MB/s eta 0:00:05\n",
      "   -------- ------------------------------- 85.3/385.2 MB 65.6 MB/s eta 0:00:05\n",
      "   --------- ----------------------------- 89.4/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   --------- ----------------------------- 93.6/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ---------- ----------------------------- 97.7/385.2 MB 93.0 MB/s eta 0:00:04\n",
      "   ---------- --------------------------- 101.9/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ---------- --------------------------- 106.0/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ---------- --------------------------- 110.2/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ----------- -------------------------- 114.3/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ----------- -------------------------- 118.4/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ------------ ------------------------- 122.6/385.2 MB 131.2 MB/s eta 0:00:03\n",
      "   ------------ -------------------------- 126.6/385.2 MB 93.9 MB/s eta 0:00:03\n",
      "   ------------ ------------------------- 130.8/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ------------- ------------------------ 134.9/385.2 MB 110.0 MB/s eta 0:00:03\n",
      "   ------------- ------------------------- 135.6/385.2 MB 73.1 MB/s eta 0:00:04\n",
      "   -------------- ------------------------ 139.8/385.2 MB 81.8 MB/s eta 0:00:03\n",
      "   -------------- ------------------------ 143.5/385.2 MB 81.8 MB/s eta 0:00:03\n",
      "   -------------- ----------------------- 148.2/385.2 MB 110.0 MB/s eta 0:00:03\n",
      "   --------------- ---------------------- 152.3/385.2 MB 129.5 MB/s eta 0:00:02\n",
      "   --------------- ----------------------- 156.4/385.2 MB 93.9 MB/s eta 0:00:03\n",
      "   --------------- ---------------------- 160.6/385.2 MB 110.0 MB/s eta 0:00:03\n",
      "   ---------------- --------------------- 164.6/385.2 MB 108.8 MB/s eta 0:00:03\n",
      "   ---------------- --------------------- 168.7/385.2 MB 110.0 MB/s eta 0:00:02\n",
      "   ----------------- -------------------- 172.8/385.2 MB 108.8 MB/s eta 0:00:02\n",
      "   ----------------- --------------------- 176.1/385.2 MB 93.0 MB/s eta 0:00:03\n",
      "   ----------------- --------------------- 176.5/385.2 MB 81.8 MB/s eta 0:00:03\n",
      "   ----------------- --------------------- 177.3/385.2 MB 59.5 MB/s eta 0:00:04\n",
      "   ------------------ -------------------- 185.2/385.2 MB 72.6 MB/s eta 0:00:03\n",
      "   ------------------ ------------------- 188.6/385.2 MB 131.2 MB/s eta 0:00:02\n",
      "   ------------------ ------------------- 191.6/385.2 MB 108.8 MB/s eta 0:00:02\n",
      "   ------------------- ------------------- 194.8/385.2 MB 93.9 MB/s eta 0:00:03\n",
      "   -------------------- ------------------ 197.8/385.2 MB 73.1 MB/s eta 0:00:03\n",
      "   -------------------- ------------------ 200.9/385.2 MB 72.6 MB/s eta 0:00:03\n",
      "   -------------------- ------------------ 204.0/385.2 MB 81.8 MB/s eta 0:00:03\n",
      "   -------------------- ------------------ 207.0/385.2 MB 72.6 MB/s eta 0:00:03\n",
      "   --------------------- ----------------- 210.2/385.2 MB 72.6 MB/s eta 0:00:03\n",
      "   --------------------- ----------------- 213.3/385.2 MB 65.2 MB/s eta 0:00:03\n",
      "   --------------------- ----------------- 216.5/385.2 MB 81.8 MB/s eta 0:00:03\n",
      "   ---------------------- ---------------- 219.6/385.2 MB 81.8 MB/s eta 0:00:03\n",
      "   ---------------------- ---------------- 222.5/385.2 MB 72.6 MB/s eta 0:00:03\n",
      "   ---------------------- ---------------- 226.0/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ----------------------- --------------- 229.9/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ----------------------- --------------- 233.1/385.2 MB 72.6 MB/s eta 0:00:03\n",
      "   ----------------------- --------------- 236.4/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ------------------------ -------------- 239.4/385.2 MB 93.9 MB/s eta 0:00:02\n",
      "   ------------------------ -------------- 242.6/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ------------------------ -------------- 245.9/385.2 MB 93.9 MB/s eta 0:00:02\n",
      "   ------------------------- ------------- 249.0/385.2 MB 72.6 MB/s eta 0:00:02\n",
      "   ------------------------- ------------- 252.2/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ------------------------- ------------- 255.2/385.2 MB 72.6 MB/s eta 0:00:02\n",
      "   -------------------------- ------------ 258.6/385.2 MB 72.6 MB/s eta 0:00:02\n",
      "   -------------------------- ------------ 261.9/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   -------------------------- ------------ 265.3/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   --------------------------- ----------- 268.3/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   --------------------------- ----------- 271.6/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   --------------------------- ----------- 274.8/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ---------------------------- ---------- 278.0/385.2 MB 93.9 MB/s eta 0:00:02\n",
      "   ---------------------------- ---------- 281.3/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ---------------------------- ---------- 284.7/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ----------------------------- --------- 287.7/385.2 MB 72.6 MB/s eta 0:00:02\n",
      "   ----------------------------- --------- 290.7/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ----------------------------- --------- 294.4/385.2 MB 93.0 MB/s eta 0:00:01\n",
      "   ------------------------------ -------- 297.6/385.2 MB 81.8 MB/s eta 0:00:02\n",
      "   ------------------------------ -------- 301.0/385.2 MB 93.0 MB/s eta 0:00:01\n",
      "   ------------------------------ -------- 304.2/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ------------------------------- ------- 307.2/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ------------------------------- ------- 310.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ------------------------------- ------- 313.3/385.2 MB 72.6 MB/s eta 0:00:01\n",
      "   -------------------------------- ------ 316.7/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   -------------------------------- ------ 319.9/385.2 MB 93.9 MB/s eta 0:00:01\n",
      "   -------------------------------- ------ 323.2/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------- ----- 326.7/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------- ----- 329.8/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------- ----- 333.2/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------- ---- 336.7/385.2 MB 93.9 MB/s eta 0:00:01\n",
      "   ---------------------------------- ---- 339.8/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------- ---- 343.3/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ----------------------------------- --- 346.6/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ----------------------------------- --- 349.9/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ----------------------------------- --- 353.3/385.2 MB 93.9 MB/s eta 0:00:01\n",
      "   ------------------------------------ -- 356.5/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ------------------------------------ -- 360.0/385.2 MB 93.9 MB/s eta 0:00:01\n",
      "   ------------------------------------ -- 363.4/385.2 MB 72.6 MB/s eta 0:00:01\n",
      "   ------------------------------------- - 366.9/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ------------------------------------- - 370.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ------------------------------------- - 373.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  376.2/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  379.5/385.2 MB 93.0 MB/s eta 0:00:01\n",
      "   --------------------------------------  383.0/385.2 MB 93.0 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------------  385.1/385.2 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------- 385.2/385.2 MB 1.8 MB/s eta 0:00:00\n",
      "Downloading absl_py-2.1.0-py3-none-any.whl (133 kB)\n",
      "   ---------------------------------------- 0.0/133.7 kB ? eta -:--:--\n",
      "   ---------------------------------------- 133.7/133.7 kB 7.7 MB/s eta 0:00:00\n",
      "Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB)\n",
      "Downloading flatbuffers-24.3.25-py2.py3-none-any.whl (26 kB)\n",
      "Downloading gast-0.6.0-py3-none-any.whl (21 kB)\n",
      "Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)\n",
      "   ---------------------------------------- 0.0/57.5 kB ? eta -:--:--\n",
      "   ---------------------------------------- 57.5/57.5 kB 3.0 MB/s eta 0:00:00\n",
      "Downloading grpcio-1.66.2-cp312-cp312-win_amd64.whl (4.3 MB)\n",
      "   ---------------------------------------- 0.0/4.3 MB ? eta -:--:--\n",
      "   ---------------------------------- ----- 3.7/4.3 MB 117.6 MB/s eta 0:00:01\n",
      "   ---------------------------------------- 4.3/4.3 MB 54.7 MB/s eta 0:00:00\n",
      "Downloading keras-3.6.0-py3-none-any.whl (1.2 MB)\n",
      "   ---------------------------------------- 0.0/1.2 MB ? eta -:--:--\n",
      "   ---------------------------------------- 1.2/1.2 MB 38.1 MB/s eta 0:00:00\n",
      "Downloading libclang-18.1.1-py2.py3-none-win_amd64.whl (26.4 MB)\n",
      "   ---------------------------------------- 0.0/26.4 MB ? eta -:--:--\n",
      "   ------- -------------------------------- 4.7/26.4 MB 99.1 MB/s eta 0:00:01\n",
      "   ----------- ---------------------------- 7.6/26.4 MB 97.0 MB/s eta 0:00:01\n",
      "   ---------------- ----------------------- 11.0/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------- ------------------ 14.5/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------- ------------ 17.9/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   --------------------------------- ------ 22.3/26.4 MB 93.9 MB/s eta 0:00:01\n",
      "   -------------------------------------- - 25.7/26.4 MB 93.0 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------  26.4/26.4 MB 81.8 MB/s eta 0:00:01\n",
      "   ---------------------------------------- 26.4/26.4 MB 19.2 MB/s eta 0:00:00\n",
      "Downloading ml_dtypes-0.4.1-cp312-cp312-win_amd64.whl (127 kB)\n",
      "   ---------------------------------------- 0.0/127.5 kB ? eta -:--:--\n",
      "   ---------------------------------------- 127.5/127.5 kB ? eta 0:00:00\n",
      "Downloading opt_einsum-3.4.0-py3-none-any.whl (71 kB)\n",
      "   ---------------------------------------- 0.0/71.9 kB ? eta -:--:--\n",
      "   ---------------------------------------- 71.9/71.9 kB 4.1 MB/s eta 0:00:00\n",
      "Downloading tensorboard-2.17.1-py3-none-any.whl (5.5 MB)\n",
      "   ---------------------------------------- 0.0/5.5 MB ? eta -:--:--\n",
      "   ---------------------------------- ----- 4.8/5.5 MB 77.3 MB/s eta 0:00:01\n",
      "   ---------------------------------------  5.5/5.5 MB 88.5 MB/s eta 0:00:01\n",
      "   ---------------------------------------  5.5/5.5 MB 88.5 MB/s eta 0:00:01\n",
      "   ---------------------------------------  5.5/5.5 MB 88.5 MB/s eta 0:00:01\n",
      "   ---------------------------------------- 5.5/5.5 MB 31.9 MB/s eta 0:00:00\n",
      "Downloading termcolor-2.5.0-py3-none-any.whl (7.8 kB)\n",
      "Downloading tensorboard_data_server-0.7.2-py3-none-any.whl (2.4 kB)\n",
      "Downloading namex-0.0.8-py3-none-any.whl (5.8 kB)\n",
      "Downloading optree-0.13.0-cp312-cp312-win_amd64.whl (283 kB)\n",
      "   ---------------------------------------- 0.0/283.5 kB ? eta -:--:--\n",
      "   --------------------------------------- 283.5/283.5 kB 17.1 MB/s eta 0:00:00\n",
      "Installing collected packages: namex, libclang, flatbuffers, termcolor, tensorboard-data-server, optree, opt-einsum, ml-dtypes, grpcio, google-pasta, gast, astunparse, absl-py, tensorboard, keras, tensorflow-intel, tensorflow\n",
      "Successfully installed absl-py-2.1.0 astunparse-1.6.3 flatbuffers-24.3.25 gast-0.6.0 google-pasta-0.2.0 grpcio-1.66.2 keras-3.6.0 libclang-18.1.1 ml-dtypes-0.4.1 namex-0.0.8 opt-einsum-3.4.0 optree-0.13.0 tensorboard-2.17.1 tensorboard-data-server-0.7.2 tensorflow-2.17.0 tensorflow-intel-2.17.0 termcolor-2.5.0\n"
     ]
    }
   ],
   "source": [
    "!pip install tensorflow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "fe725315-aba7-46f0-bbc4-68009c2a1779",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: numpy in d:\\programdata\\anaconda3\\lib\\site-packages (1.26.4)\n"
     ]
    }
   ],
   "source": [
    "!pip install numpy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "adb40d19-506f-4566-8645-7146d3d7f71b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
      "\u001b[1m11490434/11490434\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 0us/step\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "mnist=tf.keras.datasets.mnist\n",
    "(x_train,y_train),(x_test,y_test)=mnist.load_data()\n",
    "x_train,x_test=x_train/155.0,x_test/255.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "c6fc8b7c-db66-4681-8cbb-34b8e271023a",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda3\\Lib\\site-packages\\keras\\src\\layers\\reshaping\\flatten.py:37: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n",
      "  super().__init__(**kwargs)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"sequential\"</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1mModel: \"sequential\"\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓\n",
       "┃<span style=\"font-weight: bold\"> Layer (type)                         </span>┃<span style=\"font-weight: bold\"> Output Shape                </span>┃<span style=\"font-weight: bold\">         Param # </span>┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩\n",
       "│ flatten (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Flatten</span>)                    │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">784</span>)                 │               <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                        │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)                 │         <span style=\"color: #00af00; text-decoration-color: #00af00\">100,480</span> │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                      │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">10</span>)                  │           <span style=\"color: #00af00; text-decoration-color: #00af00\">1,290</span> │\n",
       "└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘\n",
       "</pre>\n"
      ],
      "text/plain": [
       "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓\n",
       "┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                        \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape               \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m        Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩\n",
       "│ flatten (\u001b[38;5;33mFlatten\u001b[0m)                    │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m784\u001b[0m)                 │               \u001b[38;5;34m0\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense (\u001b[38;5;33mDense\u001b[0m)                        │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m)                 │         \u001b[38;5;34m100,480\u001b[0m │\n",
       "├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤\n",
       "│ dense_1 (\u001b[38;5;33mDense\u001b[0m)                      │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m)                  │           \u001b[38;5;34m1,290\u001b[0m │\n",
       "└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">101,770</span> (397.54 KB)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m101,770\u001b[0m (397.54 KB)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">101,770</span> (397.54 KB)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m101,770\u001b[0m (397.54 KB)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model=tf.keras.models.Sequential()\n",
    "model.add(tf.keras.layers.Flatten(input_shape=(28,28)))\n",
    "model.add(tf.keras.layers.Dense(128,activation='relu'))\n",
    "model.add(tf.keras.layers.Dense(10,activation='softmax'))\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e4c6aad5-83a7-4a89-bea5-77193a5c30ac",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 909us/step - loss: 0.3883 - sparse_categorical_accuracy: 0.8834\n",
      "Epoch 2/5\n",
      "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 965us/step - loss: 0.1033 - sparse_categorical_accuracy: 0.9690\n",
      "Epoch 3/5\n",
      "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 993us/step - loss: 0.0712 - sparse_categorical_accuracy: 0.9782\n",
      "Epoch 4/5\n",
      "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 950us/step - loss: 0.0495 - sparse_categorical_accuracy: 0.9843\n",
      "Epoch 5/5\n",
      "\u001b[1m1875/1875\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.0363 - sparse_categorical_accuracy: 0.9892\n",
      "313/313 - 0s - 948us/step - loss: 0.0860 - sparse_categorical_accuracy: 0.9742\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[0.08596352487802505, 0.9742000102996826]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['sparse_categorical_accuracy'])\n",
    "model.fit(x_train,y_train,batch_size=32,epochs=5)\n",
    "model.evaluate(x_test,y_test,batch_size=32,verbose=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "04af8251-5495-4ce9-b177-31601d007299",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 40ms/step\n",
      "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 11ms/step\n",
      "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 17ms/step\n",
      "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step\n",
      "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step\n"
     ]
    },
    {
     "data": {
      "image/png": "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fTKopk2bWt1/5MiRFu8PHz5sdT99bY/ly5cXuX76Ew4vv/yyivWljfV/D46EPQRERETEBgERERE52JBBv379VOzv769i/c7/1NTUAsuZMWOGil966SUV613ROnvWR6CSNXToUBXr3decV7/kPPXUUyrW74zWh2mobEyePLnAffTJufRl2+91w4YNU7E+TBAfH69i/YmDuw0D60Mz+t8NeyxdulTFrVq1UrH+9IG+tHHXrl1VPG3aNBXbWiuhLLCHgIiIiNggICIiIsBJ7JmZAba72430999/q1if2/7cuXMq1pc2njVrltVyjh8/rmL94+mfQV8HYcqUKUWscfHZ+fXfVWnkpqTpE6jo34n+9MH27dtLtU7FzY2j50Wf/Oa///2vivU1PxzRvXrNPP/88yqOjIwscP9//vOfKtbXLyhLpXHN6OfQ/w3rkwBt3rxZxS+88ILF8fpwjK01JvRJpiZMmKDitWvXFlg/fdnrTz75RMX65FQZGRkq1tdW2Lt3b4HlF4W9eWEPAREREbFBQERERA72lEGNGjVUrHcFBQYGqrhevXoq1p9KsDU0oPvmm29UrHflEFVE+nXiiF3oFc3TTz9tdbutpXgr6tLGSUlJKq5Zs6aK169fr2J9yODO5dRtfYcff/yxivfv369i/ekFe+hPHyQkJKh43bp1KtaHxPVJpTp27FiocxmNPQRERETEBgERERGxQUBERERwsHsI3n//fRVPmjTJ6j62Hp+wZ7s+m9fFixeLUkWicu3+++9XsX5tfPvtt2VRHdLoudHZ+t2mP5qoz4535swZYyvmYP7v//5PxaNHj1Zx3bp1VdywYUMVR0VFWRy/adMmFeuz1KanpxtZTQDAzp07Vdy9e3cV648glsR5i4o9BERERMQGARERETnYkMG7776rYn1Bo927d6tYf1zD1qNS+lrT/fv3V3FJzQJFRePl5aViZ+fbbVN91rzSnp3wXpeYmKjiGzduqDgzM7MsqkPF4O3trWJ9cZ17fchg5cqVKt6wYYOKPTw8VJyVlaXitLS00qlYAX799deyrkKB2ENAREREbBAQERGRgw0Z6PQ1rPXuMH19aX0xC/1OXH2YQO9SIseir2uuz0xpMplUXLlyZRU70t249wJ9QRx9KIHKxldffaXiNm3aqLhSpUpW98/OzlZxcnJyyVXMgem/E/j7ofjYQ0BERERsEBARERHgJHYulMzFT0rGvbq2uz3eeustFX/wwQcq1r+TL7/8UsVDhw4tnYpZqUdRlNe8OLqKcM3MmzdPxWPHjrW6jz58ql9LZYnXjGOyNy/sISAiIiI2CIiIiMiBnzIgAoDAwMCyrgJRqRs/frzVmKgksYeAiIiI2CAgIiIiDhlQGTpw4ECB+yxevLgUakJEROwhICIiIjYIiIiIqBATExEREdG9iz0ERERExAYBERERsUFAREREYIOAiIiIwAYBERERgQ0CIiIiAhsEREREBDYIiIiICGwQEBEREYD/B8zKub7+KlkyAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(5):\n",
    "    t=np.random.randint(1,10000)\n",
    "    x=tf.reshape(x_test[t],[1,28,28])\n",
    "    y_pred=np.argmax(model.predict(x),axis=1)\n",
    "    plt.subplot(1,5,i+1)\n",
    "    plt.rcParams['font.sans-serif']=['SimHei']\n",
    "    plt.axis(\"off\")\n",
    "    plt.imshow(x_test[t],cmap='gray')\n",
    "    title=\"标签值：\"+str(y_test[t])+\"\\n预测值：\"+str(y_pred[0])\n",
    "    plt.title(title)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5c6ae521-dca3-4cb7-8212-8cb572643bfa",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
